package main

import (
	"fmt"
	"io"
	"os"

)

// 自己编写一个函数 接收两个文件路径srcFileName dstFileName
func copy(srcFileName string,dstFileName string)(err error){
	sFile,err1:=os.Open(srcFileName)
	dFile,err2:=os.OpenFile(dstFileName,os.O_CREATE|os.O_WRONLY,0666)
	defer sFile.Close()
	defer dFile.Close()
	if err1 !=nil{
		return err1
	}
	if err2 !=nil{
		return err2
	}
	var tmpSlice =make([]byte,128)
	for{
		n,err:=sFile.Read(tmpSlice)
		if err == io.EOF{
			break 
		}
		if err !=nil{
			return err
		}
		// 写入数据
		if _,err :=dFile.Write(tmpSlice[:n]);err !=nil{
			return err
		}
	}
	return nil
}
func main() {

	src:="C:\\Users\\86152\\test.txt"

	dst:="D:\\test2.txt"
	err :=copy(src,dst)
	if err ==nil{
		fmt.Println("拷贝完成\n")
	}else{
		fmt.Printf("拷贝错误 err=%v",err)
	}
	
}